package com.smart.sso.server.service;

import java.util.List;
import java.util.Date;

import com.smart.mvc.service.mybatis.Service;
import com.smart.sso.server.model.LoginDatetimeLimit;


/**
 * 用户登录日期时间限制接口
 * 
 * @author YM
 */
public interface LoginDatetimeLimitService extends Service<LoginDatetimeLimit, Integer> {
	
	/**
	 * 根据用户ID集合删除映射
	 * @param idList 用户ID集合
	 * @return
	 */
	public void deleteByUserIds(List<Integer> idList);
	
	/**
	 * 根据用户ID查询
	 * @param userId 用户ID
	 * @return
	 */
	public List<LoginDatetimeLimit> findByUserId(Integer userId);
	
	/**
	 * 验证用户IP是否允许登陆
	 * @param userId 用户ID
	 * @param now 用户登陆时间
	 */
	public boolean isDatetimePermitted(Integer userId, Date now);
	
	/**
	 * 保存用户日期段限制到数据库
	 * @param userId 用户ID
	 * @param dateTimes 用户登陆日期范围
	 */
	public void saveDateTimes(Integer userId, String dateTimes);
	
	/**
	 * 保存用户时段限制到数据库
	 * @param userId 用户ID
	 * @param times 用户登陆时段范围
	 */
	public void saveTimes(Integer userId, String times);
}
